package daos;

import java.util.List;

import javax.swing.JOptionPane;


import modele.Commande;
import modele.LigneCommande;
import modele.Produit;
import modele.util.HibernateUtil;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

public class CommandeDAO {
Produit p;

@SuppressWarnings("unchecked")
public List<Commande> findAll() {
	Session session = HibernateUtil.openSession();
	Query query = session.createQuery("from Commande");
	List<Commande> commandes = query.list();
	return commandes;
}
	public boolean add(Commande commande){
	
		Session session = HibernateUtil.openSession();
		Transaction t=session.beginTransaction();
try{

	session.save(commande);
	
	for(LigneCommande lc: commande.getLignesDeCommandes()){
		p=DAOs.getProduitDAO().findAllByName(lc.getProduit().getNom());
		int qte=p.getQuantite()-lc.getQuantite();
		System.out.println(qte);
		p.setQuantite(qte);
		session.persist(p);
		if(p.getQuantite()==0){
			System.out.println("yes");
			JOptionPane.showMessageDialog(null, "commande de "+ p.getNom());
		}
	}
	
			
			
			
		} catch (Exception e) {
			System.err.println("Problem when saving");
			e.printStackTrace();
			return false;
		}
t.commit();


		return true;
		
	}
	
}
